// Copyright (c) 2005  INRIA Sophia-Antipolis (France).
// All rights reserved.
//
// This file is part of cgal-python; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; version 2.1 of the License.
// See the file LICENSE.LGPL distributed with cgal-python.
//
// Licensees holding a valid commercial license may use this file in
// accordance with the commercial license agreement provided with the software.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//
// $Id: Py_Delaunay_triangulation_3_doc.h 132 2006-06-29 12:42:38Z nmeskini $
// $URL: svn+ssh://scm.gforge.inria.fr/svn/cgal-python/trunk/cgal-python/bindings/Triangulations_3/Py_Delaunay_triangulation_3_doc.h $
//
// Author(s)     : Naceur Meskini
//=========================================================================

#ifndef DELAUNAY_3_DOCS_H
#define DELAUNAY_3_DOCS_H
//=======================================================
//	doc of Delaunay_triangulation_3 class
//=======================================================
const char* Delaunay_triangulation_3_doc ="\
	The class Delaunay_triangulation_3 represents a three-dimensional Delaunay triangulation.\n\
	See a complete C++ documentation:\n\
	http://www.cgal.org/Manual/3.2/doc_html/cgal_manual/Triangulation_3_ref/Class_Delaunay_triangulation_3.html";
const char* move_point_doc = "\
	dt.move_point( self, Vertex v, Point_3 p) ->Vertex\n\
	Moves the point stored in v to p, while preserving the Delaunay property.\n \
	This performs an action semantically equivalent to remove(v) followed by insert(p), \n\
	but is supposedly faster when the point has not moved much.\n\
	Precondition: v is a finite vertex of the triangulation."; 

const char* side_of_sphere_doc ="\
	dt.side_of_sphere( self, Cell c, Point p) -> Bounded_side \n\
	Returns a value indicating on which side of the circumscribed sphere of c the point p lies. More precisely, it returns:\n\
	- ON_BOUNDED_SIDE if p is inside the sphere.\n \
	For an infinite cell this means that p lies strictly either in \n\
	the half space limited by its finite facet and not containing any \n\
	other point of the triangulation, or in the interior of the disk circumscribing the finite facet.\n\
	- ON_BOUNDARY if p on the boundary of the sphere. \n\
	For an infinite cell this means that p lies on the circle circumscribing the finite facet.\n\
	- ON_UNBOUNDED_SIDE if p lies outside the sphere. \n\
	For an infinite cell this means that p does not satisfy either of the two previous conditions.\n\
	Precondition: dt.dimension() =3.";

const char* side_of_circle_doc ="\
   	dt.side_of_circle ( self,Facet f, Point_3 p) -> Bounded_side\n\
	Returns a value indicating on which side of the circumscribed circle of f the point p lies. \n\
	More precisely, it returns:\n\
	- in dimension 3:\n\
	- For a finite facet, ON_BOUNDARY if p lies on the circle, \n\
	  ON_UNBOUNDED_SIDE when it lies in the exterior of the disk,\n\
	  ON_BOUNDED_SIDE when it lies in its interior.\n\
	- For an infinite facet, it considers the plane defined by the finite\n\
	  facet of the same cell, and does the same as in dimension 2 in this plane.\n\
	- in dimension 2:\n\
	- For a finite facet, ON_BOUNDARY if p lies on the circle, \n\
	  ON_UNBOUNDED_SIDE when it lies in the exterior of the disk, \n\
	  ON_BOUNDED_SIDE when it lies in its interior.\n\
	- For an infinite facet, ON_BOUNDARY if the point lies on \n\
	  the finite edge of f (endpoints included), ON_BOUNDED_SIDE \n\
	  for a point in the open half plane defined by f and not containing\n\
	  any other point of the triangulation, ON_UNBOUNDED_SIDE elsewhere.\n\
	Precondition: dt.dimension() >= 2 and in dimension 3, p is coplanar with f.\n\
	dt.side_of_circle( self, Cell c, int i, Point p) -> Bounded_side\n\
	Same as the previous method for facet i of cell c.";

const char* nearest_vertex_in_cell_doc ="\
	dt.nearest_vertex_in_cell( self, Point p, Cell c) ->Vertex\n\
	Returns the vertex of the cell c that is nearest to p."; 

const char* nearest_vertex_doc ="\
	dt.nearest_vertex( self,Point p,Cell c = Cell()) -> Vertex\n\
	Returns any nearest vertex to the point p, or the default constructed\n\
	handle if the triangulation is empty. The optional argument c is a hint\n\
	specifying where to start the search.\n\
	Precondition: c is a cell of dt."; 

const char* is_Gabriel_doc ="\
	A face (cell, facet or edge) is said to be a Gabriel face iff its smallest\n\
	circumscribing sphere do not enclose any vertex of the triangulation. \n\
	Any Gabriel face belongs to the Delaunay triangulation, but the reciprocal \n\
	is not true. The following member functions test the Gabriel property of Delaunay faces.\n\
	dt.is_Gabriel( self, Cell c, int i) -> bool\n\n\
	dt.is_Gabriel( self, Cellc, int i, int j)-> bool\n\n\
	dt.is_Gabriel( self, Facet f) -> bool\n\n\
	dt.is_Gabriel( self, Edge e) -> bool"; 

const char* dual_doc ="\
	dt.dual( self, Cell c) -> Point_3\n\
	Returns the circumcenter of the four vertices of c.\n\
	Precondition: dt.dimension()=3 and c is not infinite.\n\n\
	dt.dual( self, Facet f) -> Returns the dual of facet f, which is\n\
	in dimension 3: either a segment, if the two cells incident to f are finite,\n\
 	or a ray, if one of them is infinite;\n\
	in dimension 2: a point.\n\
	Precondition: dt.dimension() 2 and f is not infinite.\n\n\
	dt.dual( self, Cell c, int i) -> same as the previous method for facet (c,i)."; 
const char* del_insert_doc ="\
	Same as Triangulation_3.insert\n\
	type help(Triangulation_3.insert)";

const char* remove_doc ="\
	dt.remove( self ,Vertex v) -> void\n\
	Removes the vertex v from the triangulation.\n\
	Precondition: v is a finite vertex of the triangulation.";

char* del_is_valid_doc ="\
	Same as Triangulation_3.is_valid\n\
	type help(Triangulation_3.is_valid)";

char* del_vertices_in_conflict_doc ="\
	dt.vertices_in_conflict ( self, Point_3 p,Cell_handle c) -> list of vertices\n\
	Similar to find_conflicts(), but reports the vertices which are on the boundary \n\
	of the conflict hole of p\n\
	Precondition: dt.dimension() >= 2, and c is in conflict with p.";
char* del_find_conflict_doc ="\
	dt.vertices_in_conflict ( self, Point_3 p,Cell_handle c) -> list of vertices\n\
	Similar to find_conflicts(), but reports the vertices which are on the boundary \n\
	of the conflict hole of p\n\
	Precondition: dt.dimension() >= 2, and c is in conflict with p.";
#endif  //DELAUNAY_3_DOCS_H
//====================

